package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商城订单退款业务对象 p_store_return
 *
 * @author ruoyi
 * @date 2022-08-05
 */

@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel("商城订单退款业务对象")
public class PStoreReturnBo extends BaseEntity {

    /**
     *
     */
    @ApiModelProperty(value = "", required = true)
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 商品id
     */
    @ApiModelProperty(value = "商品id", required = true)
    @NotNull(message = "商品id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long productId;

    /**
     * 商品个数
     */
    @ApiModelProperty(value = "商品个数", required = true)
    private Integer productCount;

    /**
     * 货物状态
     */
    @ApiModelProperty(value = "货物状态", required = true)
    private String productType;

    /**
     * 退款原因
     */
    @ApiModelProperty(value = "退款原因", required = true)
    @NotBlank(message = "退款原因不能为空", groups = { AddGroup.class, EditGroup.class })
    private String info;

    /**
     * 退款金额
     */
    @ApiModelProperty(value = "退款金额", required = true)
    @NotNull(message = "退款金额不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal price;

    /**
     * 描述
     */
    @ApiModelProperty(value = "描述", required = true)
    private String descInfo;

    /**
     * 凭证图片
     */
    @ApiModelProperty(value = "凭证图片", required = true)
    private String url;

    /**
     * 审批状态 0 待审批 1 审批通过 2 审批失败
     */
    @ApiModelProperty(value = "审批状态 0 待审批 1 审批通过 2 审批失败", required = true)
    private String checkType;

    /**
     * 申请人
     */
    @ApiModelProperty(value = "申请人", required = true)
    private Long userId;

    /**
     * 商品名称
     */
    private String storeName;

    /**
     * 用户名
     */
    private String username;
}
